[XEN] Don't keep shadows of PAE guest l3 tables.
authorTim Deegan <Tim.Deegan@xensource.com>
Tue, 17 Oct 2006 10:11:48 +0000 (11:11 +0100)
committerTim Deegan <Tim.Deegan@xensource.com>
Tue, 17 Oct 2006 10:11:48 +0000 (11:11 +0100)
commitf26cc7890337eb60472e9888a547a608f2555916
tree8b9e726efaa0dbb8d8b71688a077e8b6d421b05d
parent3cc943dc88804bb61719d991267cc4b86f0fe198
[XEN] Don't keep shadows of PAE guest l3 tables.

Holding pages readonly that have guest PAE l3 tables in them means
a performance hit and potential bug if the guest puts other
datastructures on the same page as an l3 table.  Instead of shadowing
them, treat PAE guests as if they had four CR3 registers, and load all
four top-level entries when we handle a CR3 write.  This also cuts about
500 lines of special-case refcounting and re-copying code.

Signed-off-by: Tim Deegan <Tim.Deegan@xensource.com>
xen/arch/x86/hvm/svm/svm.c
xen/arch/x86/hvm/svm/vmcb.c
xen/arch/x86/mm/shadow/common.c
xen/arch/x86/mm/shadow/multi.c
xen/arch/x86/mm/shadow/multi.h
xen/arch/x86/mm/shadow/private.h
xen/arch/x86/mm/shadow/types.h
xen/include/asm-x86/domain.h
xen/include/asm-x86/hvm/vcpu.h
xen/include/asm-x86/mm.h
xen/include/asm-x86/shadow.h